package com.aiwiown.face.domain.lite;

import com.aiwiown.face.ApiObject;
import com.aiwiown.face.domain.orc.OCRIdCardQuality;
import com.aiwiown.face.domain.orc.OCRCardSide;
import com.aiwiown.face.internal.mapping.ApiField;

/**
 * <pre>
 * </pre>
 * IdCardInfo
 * Date: 2020/4/24 0024
 * Time: 15:28
 *
 * @author tang.xiaosheng@qq.com
 */
public class IdCardInfo extends ApiObject {
    private static final long serialVersionUID = -4533061211944521004L;

    /**
     * 表示 get_token 时选择的 idcard_mode；
     */
    @ApiField("idcard_mode")
    private String idCardMode;

    /**
     * 表示 get_token 是选择的 idcard_uneditable_feild；
     */
    @ApiField("idcard_uneditable_feild")
    private String idCardUneditableFeild;

    /**
     * 该字段仅在idcard_mode=4时返回，表示用户选择的身份证信息录入模式
     * 0：选择拍摄身份证人像面；
     * 1：选择手输身份证信息；
     */
    @ApiField("idcard_mode_user")
    private String idCardModeUser;

    /**
     * 表示最终经过用户确认的身份证号 （根据idcard_uneditable_feild可能被修改过）；
     */
    @ApiField("idcard_number")
    private String idCardNumber;

    /**
     * 表示最终经过用户确认的姓名 （根据idcard_uneditable_feild可能被修改过）；
     */
    @ApiField("idcard_name")
    private String idCardName;

    /**
     * 表示最终经过用户确认的身份证有效期 （根据idcard_uneditable_field可能被修改过，如果不用拍摄身份证国徽面则不返回此字段）；
     */
    @ApiField("idcard_valid_date")
    private String idCardValidDate;

    /**
     * 表示最终经过用户确认的身份证签发机关
     */
    @ApiField("idcard_issued_by")
    private String idCardIssuedBy;

    /**
     * 身份证人像面的识别结果（如果不用拍摄身份证人像面则不返回此字段）；
     */
    @ApiField("front_side")
    private OCRCardSide frontSide;

    /**
     * 份证国徽面的识别结果（如果不用拍摄身份证国徽面则不返回此字段）；
     */
    @ApiField("back_side")
    private OCRCardSide backSide;

    /**
     * 身份证人像面各字段质量判断及逻辑判断结果；（该字段仅在浅色主题下进行返回）
     */
    @ApiField("ocr_front_quality")
    private OCRIdCardQuality ocrFrontQuality;

    /**
     * 身份证国徽面各字段质量判断及逻辑判断结果；（该字段仅在浅色主题下进行返回）
     */
    @ApiField("ocr_back_quality")
    private OCRIdCardQuality ocrBackQuality;

    public String getIdCardMode() {
        return idCardMode;
    }

    public void setIdCardMode(String idCardMode) {
        this.idCardMode = idCardMode;
    }

    public String getIdCardUneditableFeild() {
        return idCardUneditableFeild;
    }

    public void setIdCardUneditableFeild(String idCardUneditableFeild) {
        this.idCardUneditableFeild = idCardUneditableFeild;
    }

    public String getIdCardModeUser() {
        return idCardModeUser;
    }

    public void setIdCardModeUser(String idCardModeUser) {
        this.idCardModeUser = idCardModeUser;
    }

    public String getIdCardNumber() {
        return idCardNumber;
    }

    public void setIdCardNumber(String idCardNumber) {
        this.idCardNumber = idCardNumber;
    }

    public String getIdCardName() {
        return idCardName;
    }

    public void setIdCardName(String idCardName) {
        this.idCardName = idCardName;
    }

    public String getIdCardValidDate() {
        return idCardValidDate;
    }

    public void setIdCardValidDate(String idCardValidDate) {
        this.idCardValidDate = idCardValidDate;
    }

    public String getIdCardIssuedBy() {
        return idCardIssuedBy;
    }

    public void setIdCardIssuedBy(String idCardIssuedBy) {
        this.idCardIssuedBy = idCardIssuedBy;
    }

    public OCRCardSide getFrontSide() {
        return frontSide;
    }

    public void setFrontSide(OCRCardSide frontSide) {
        this.frontSide = frontSide;
    }

    public OCRCardSide getBackSide() {
        return backSide;
    }

    public void setBackSide(OCRCardSide backSide) {
        this.backSide = backSide;
    }

    public OCRIdCardQuality getOcrFrontQuality() {
        return ocrFrontQuality;
    }

    public void setOcrFrontQuality(OCRIdCardQuality ocrFrontQuality) {
        this.ocrFrontQuality = ocrFrontQuality;
    }

    public OCRIdCardQuality getOcrBackQuality() {
        return ocrBackQuality;
    }

    public void setOcrBackQuality(OCRIdCardQuality ocrBackQuality) {
        this.ocrBackQuality = ocrBackQuality;
    }
}
